package com.yungu.swift.assets.driver.model.dto;

import com.yungu.swift.base.model.BaseDto;
import com.yungu.swift.base.model.annotation.Desensitization;

import java.util.Date;


/**
 * 司机考核表
 **/

public class DriverExamineDto extends BaseDto {


    /**
     * 司机uuid
     **/
    private String driverUuid;

    /**
     * 日期
     **/
    private Date workDate;

    /**
     * 评分
     **/
    private Double score;

    /**
     * 被投诉次数
     **/
    private Integer complainedCount;

    /**
     * 上班时长（小时）
     **/
    private Double workTime;

    /**
     * 服务时长（小时）
     **/
    private Double serviceTime;

    /**
     * 在线里程(公里)
     **/
    private Double onlineMileage;

    /**
     * 服务里程（公里）
     **/
    private Double serviceMileage;

    /**
     * 接单数
     **/
    private Integer receivedOrderCount;

    /**
     * 成单量
     **/
    private Integer completedOrderCount;

    /**
     * 取消量（订单）
     **/
    private Integer canceledOrderCount;

    /**
     * 分享乘客注册人数
     **/
    private Integer invitedPassengerCount;

    /**
     * 分享司机注册人数
     **/
    private Integer invitedDriverCount;

    /**
     * 公司uuid
     **/
    private String companyUuid;

    /**
     * 代理id
     **/
    private String agentUuid;

    /**
     * 关闭量（订单）
     **/
    private Integer closedOrderCount;

    /**
     * 成单金额
     **/
    private Double totalFare;

    //非数据库字段
    /**
     * 司机编号
     **/
    private String driverNo;

    /**
     * 司机手机号
     **/
    @Desensitization(type = Desensitization.DesensitionType.MOBILE)
    private String mobile;

    /**
     * 司机姓名
     **/
    @Desensitization(type = Desensitization.DesensitionType.NAME)
    private String name;

    /**
     * 司机唯一规则编号
     */
    private String driverUniqueId;

    // 附加字段===============
    /**
     * 查询条件合集（司机编号，姓名，联系方式）
     */
    private String conditions;

    /**
     * 空驶里程（公里）
     **/
    private Double emptyMileage;

    /**
     * 空载里程（公里）
     **/
    private Double emptyLoadMileage;

    /**
     * 空驶时长（小时）
     **/
    private Double emptyTime;

    /**
     * 空载时长（小时）
     **/
    private Double emptyLoadTime;

    /**
     * 在线时长（小时）
     **/
    private Double onlineTime;

    /**
     * 离线时长（小时）
     **/
    private Double offlineTime;

    /**
     * 司机类型
     **/
    private Integer businessType;

    public String getDriverUuid() {
        return driverUuid;
    }

    public void setDriverUuid(String driverUuid) {
        this.driverUuid = driverUuid;
    }

    public Date getWorkDate() {
        return workDate;
    }

    public void setWorkDate(Date workDate) {
        this.workDate = workDate;
    }

    public Double getScore() {
        return score;
    }

    public void setScore(Double score) {
        this.score = score;
    }

    public Integer getComplainedCount() {
        return complainedCount;
    }

    public void setComplainedCount(Integer complainedCount) {
        this.complainedCount = complainedCount;
    }

    public Double getWorkTime() {
        return workTime;
    }

    public void setWorkTime(Double workTime) {
        this.workTime = workTime;
    }

    public Double getServiceTime() {
        return serviceTime;
    }

    public void setServiceTime(Double serviceTime) {
        this.serviceTime = serviceTime;
    }

    public Double getOnlineMileage() {
        return onlineMileage;
    }

    public void setOnlineMileage(Double onlineMileage) {
        this.onlineMileage = onlineMileage;
    }

    public Double getServiceMileage() {
        return serviceMileage;
    }

    public void setServiceMileage(Double serviceMileage) {
        this.serviceMileage = serviceMileage;
    }

    public Integer getReceivedOrderCount() {
        return receivedOrderCount;
    }

    public void setReceivedOrderCount(Integer receivedOrderCount) {
        this.receivedOrderCount = receivedOrderCount;
    }

    public Integer getCompletedOrderCount() {
        return completedOrderCount;
    }

    public void setCompletedOrderCount(Integer completedOrderCount) {
        this.completedOrderCount = completedOrderCount;
    }

    public Integer getCanceledOrderCount() {
        return canceledOrderCount;
    }

    public void setCanceledOrderCount(Integer canceledOrderCount) {
        this.canceledOrderCount = canceledOrderCount;
    }

    public Integer getInvitedPassengerCount() {
        return invitedPassengerCount;
    }

    public void setInvitedPassengerCount(Integer invitedPassengerCount) {
        this.invitedPassengerCount = invitedPassengerCount;
    }

    public Integer getInvitedDriverCount() {
        return invitedDriverCount;
    }

    public void setInvitedDriverCount(Integer invitedDriverCount) {
        this.invitedDriverCount = invitedDriverCount;
    }

    public String getCompanyUuid() {
        return companyUuid;
    }

    public void setCompanyUuid(String companyUuid) {
        this.companyUuid = companyUuid;
    }

    public String getAgentUuid() {
        return agentUuid;
    }

    public void setAgentUuid(String agentUuid) {
        this.agentUuid = agentUuid;
    }

    public Integer getClosedOrderCount() {
        return closedOrderCount;
    }

    public void setClosedOrderCount(Integer closedOrderCount) {
        this.closedOrderCount = closedOrderCount;
    }

    public String getDriverNo() {
        return driverNo;
    }

    public void setDriverNo(String driverNo) {
        this.driverNo = driverNo;
    }

    public String getMobile() {
        return mobile;
    }

    public void setMobile(String mobile) {
        this.mobile = mobile;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Double getTotalFare() {
        return totalFare;
    }

    public void setTotalFare(Double totalFare) {
        this.totalFare = totalFare;
    }

    public String getDriverUniqueId() {
        return driverUniqueId;
    }

    public void setDriverUniqueId(String driverUniqueId) {
        this.driverUniqueId = driverUniqueId;
    }

    public String getConditions() {
        return conditions;
    }

    public void setConditions(String conditions) {
        this.conditions = conditions;
    }

    public Double getEmptyMileage() {
        return emptyMileage;
    }

    public void setEmptyMileage(Double emptyMileage) {
        this.emptyMileage = emptyMileage;
    }

    public Double getEmptyLoadMileage() {
        return emptyLoadMileage;
    }

    public void setEmptyLoadMileage(Double emptyLoadMileage) {
        this.emptyLoadMileage = emptyLoadMileage;
    }

    public Double getEmptyTime() {
        return emptyTime;
    }

    public void setEmptyTime(Double emptyTime) {
        this.emptyTime = emptyTime;
    }

    public Double getEmptyLoadTime() {
        return emptyLoadTime;
    }

    public void setEmptyLoadTime(Double emptyLoadTime) {
        this.emptyLoadTime = emptyLoadTime;
    }

    public Double getOnlineTime() {
        return onlineTime;
    }

    public void setOnlineTime(Double onlineTime) {
        this.onlineTime = onlineTime;
    }

    public Double getOfflineTime() {
        return offlineTime;
    }

    public void setOfflineTime(Double offlineTime) {
        this.offlineTime = offlineTime;
    }

    public Integer getBusinessType() {
        return businessType;
    }

    public void setBusinessType(Integer businessType) {
        this.businessType = businessType;
    }
}
